package com.ruoyi.hbs.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * MSFX—终端销售首单表
 */
@ApiModel(description = "MSFX—终端销售首单表")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "msfx_terminal_sales_first_order")
public class MsfxTerminalSalesFirstOrder implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID")
    private Long id;

    /**
     * 终端id
     */
    @TableField(value = "terminal_mapping_id")
    @ApiModelProperty(value = "终端id")
    private Long terminalMappingId;

    /**
     * 商品id
     */
    @TableField(value = "product_mapping_id")
    @ApiModelProperty(value = "商品id")
    private Long productMappingId;

    /**
     * 首次销售日期/单据时间
     */
    @TableField(value = "first_sale_date")
    @ApiModelProperty(value = "首次销售日期/单据时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date firstSaleDate;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 是否已上传 0-未上传 1-已上传
     */
    @TableField(value = "is_uploaded")
    @ApiModelProperty(value="是否已上传 0-未上传 1-已上传")
    private Integer isUploaded;

    /**
     * 是否已上传人工标记 0-未上传 1-已上传
     */
    @TableField(value = "is_uploaded_mark")
    @ApiModelProperty(value="是否已上传人工标记 0-未上传 1-已上传")
    private Integer isUploadedMark;

    // 扩展字段
    /**
     * 货商映射表id
     */
    @TableField(exist = false)
    @ApiModelProperty(value="货商映射表id")
    private String hbsProductId;
    /**
     * 终端映射表id
     */
    @TableField(exist = false)
    @ApiModelProperty(value="终端映射表id")
    private String hbsTerminalId;


    /**
     * 码上放心-药品通用名
     */
    @TableField(exist = false)
    @ApiModelProperty(value="码上放心-药品通用名")
    private String msfxGenericName;

    /**
     * 码上放心-规格
     */
    @TableField(exist = false)
    @ApiModelProperty(value="码上放心-规格")
    private String msfxSpecification;

    /**
     * 码上放心-包装规格
     */
    @TableField(exist = false)
    @ApiModelProperty(value="码上放心-包装规格")
    private String msfxPackageSpec;



    /**
     * 码上放心-企业名称
     */
    @TableField(exist = false)
    @ApiModelProperty(value="码上放心-企业名称")
    private String msfxEnterpriseName;

    /**
     * 码上放心-社会信用代码
     */
    @TableField(exist = false)
    @ApiModelProperty(value="码上放心-社会信用代码")
    private String msfxCreditCode;
}